package tugou

// import (
// 	"errors"
// 	"reflect"
// 	"sync"
// 	"tugou/logs"
// )

// type manageModule struct { //模块个数的限制
// 	lock     sync.RWMutex       //这个是锁
// 	name     string             //名称
// 	run      map[string]ModuleI //运行中的模块
// 	mType    reflect.Type       //类型
// 	maxCount int                //最大工作个数
// }

// func (this *manageModule) Reg(extend ModuleI, maxCount int) string { //注册模块
// 	logs.Debug("ManageModule初始化")
// 	moduleType := VerifyModule(extend)
// 	this.mType = moduleType
// 	this.name = extend.OnGetName()
// 	if this.name == "" {
// 		if moduleType.Kind().String() == "ptr" {
// 			this.name = moduleType.Elem().Name()
// 		} else {
// 			this.name = moduleType.Name()
// 		}
// 	}
// 	this.maxCount = maxCount
// 	this.run = make(map[string]ModuleI)
// 	return this.name

// }
// func (this *manageModule) joinModule(module ModuleI) error { //加入模块
// 	id := module.GetId()
// 	this.lock.Lock()
// 	_, ok := this.run[id]
// 	if ok {
// 		this.lock.Unlock()
// 		return errors.New("加入模块的ID已经存在" + id)
// 	}
// 	this.run[id] = module
// 	this.lock.Unlock()
// 	return nil
// }
// func (this *manageModule) quitModule(id string) error { //退出模块
// 	this.lock.Lock()
// 	_, ok := this.run[id]
// 	if ok {
// 		delete(this.run, id)
// 		this.lock.Unlock()
// 		return nil
// 	}
// 	this.lock.Unlock()
// 	return errors.New("退出模块失败没有找到ID" + id)
// }
// func (this *manageModule) creat() ModuleI { //创建模块
// 	module := reflect.New(this.mType).Interface().(ModuleI)
// 	module.setName(this.name)
// 	return module
// }
// func (this *manageModule) findModule(id string) (ModuleI, error) {
// 	m, ok := this.run[id]
// 	if ok {
// 		return m, nil
// 	}
// 	return nil, Err_Module_No_Find
// }
